package com.feng.usercenter.common;


import com.feng.usercenter.constant.BaseConst;

/**
 * 返回工具类
 */
public class ResultUtils {

    /**
     * 成功
     * @param data 数据
     * @return 自定义数据包装类
     * @param <T> 泛型
     */
    public static <T> BaseResult<T> success(T data) {
        return new BaseResult<>(BaseConst.SUCCESS, data, BaseConst.SUCCESS_MSG);
    }

    /**
     * 失败
     * @param errorCode 错误码
     * @return 失败信息
     */
    public static BaseResult error(ErrorCode errorCode) {
        return new BaseResult<>(errorCode);
    }

    /**
     * 失败
     * @param code 错误码
     * @return 失败信息
     */
    public static BaseResult error(int code, String msg, String description) {
        return new BaseResult<>(code, null, msg, description);
    }

    /**
     * 失败
     * @param errorCode 错误码
     * @return 失败信息
     */
    public static BaseResult error(ErrorCode errorCode, String message, String description) {
        return new BaseResult<>(errorCode.getCode(), null, message, description);
    }

    /**
     * 失败
     * @param errorCode 错误码
     * @return 失败信息
     */
    public static BaseResult error(ErrorCode errorCode, String description) {
        return new BaseResult<>(errorCode.getCode(), null, errorCode.getMessage(), description);
    }
}
